package com.twentytwok.hospitalsystem22K.service;

import com.twentytwok.hospitalsystem22K.common.R;
import com.twentytwok.hospitalsystem22K.pojo.AdminUser;

import java.util.List;

/**
 * @author Yuanao
 * @data 2021年11月8日19:56:55
 */
public interface AdminUserService {

    /**
     * 管理员登录
     *
     * @param name     管理员用户名
     * @param password 管理员密码,MD5加密后的
     * @return 登录成功返回true
     */
    AdminUser login(String name, String password);

    /**
     * 查询所有管理员信息,包括分页与模糊查询
     *
     * @param page 当前页
     * @param limit 一页的数量
     * @param name 模糊查询条件
     * @return 然会R类型的数据
     */
    R getUsers(Integer page, Integer limit, String name);

    /**
     * 删除用户
     * @date 2021年11月10日09:46:23
     *
     * @param id 管理员的id
     * @return 返回R类型
     */
    R deleteUser(Integer id);

    /**
     * 添加用户
     * @param adminUser adminUser类型
     * @return R类型
     */
    R addUser(AdminUser adminUser);

    /**
     * 根据指定的id获取管理员信息
     *
     * @param id 管理员id
     * @return 返回R
     */
    R getUser(Integer id);

    /**
     * 更具指定的id修改对应的信息
     * @param adminUser 用户对象
     * @return 返回R
     */
    R modifyUser(AdminUser adminUser);


    /**
     * 获取所有的管理员用户信息
     * 没有删除的
     *
     * @return 所有管理员对象
     */
    List<AdminUser>  getAllAdminUser();
}
